草庐IT

Pythonic 宏语法

全部标签

ANTLR4入门【打造你自己的语法规则】

文章目录什么是ANTLR4ANTLR4的特点ANTLR4的语法规则语法规则的声明.g4文件的代码规则词法规则语法规则语法规则中的操作如何使用ANTLR4实战IDEA安装ANTLR插件新建项目创建一个.g4文件通过插件生成java代码创建一个EvalVisitor遍历AST测试什么是ANTLR4ANTLR4(全称为"ANotherToolforLanguageRecognition")是一种用于构建语言识别器的强大工具。它是一个自动生成的解析器生成器,使用ANTLR4可以帮助开发人员快速创建自定义的语言或DSL。ANTLR4的特点支持多种目标语言,包括Java、C#、Python、JavaScr

oracle sql相关语法

SQL*PLUS在SQL*PLUS执行,会在执行后显示查询的执行计划和统计信息SETAUTOTRACEON;SELECT*FROMyour_tableWHEREcolumn_name='value';SETAUTOTRACEOFF;PLSQLPLSQL查询sql界面,鼠标右键,点击执行计划,会出现sql的执行计划结果SELECT*FROMyour_tableWHEREcolumn_name='value';oracleSQL查询表索引信息SELECTc.INDEX_NAME,CASEUNIQUENESSWHEN'UNIQUE'THEN'UniqueIndex'WHEN'NONUNIQUE'TH

java中的try-with-resource语法

java的世界千奇百怪。。。当我甩出如下代码段,不知阁下如何应对?try(Aa=newA()){和a变量无关的业务代码块}没错,这就是“臭名昭著”的try-with-resource语法,乍一看让人不知所云,其实它和try-finally的下述代码等价Aa=newA()try{//业务代码块}finally{a.close();}本质上就是当使用try-with-resources语句块来处理实现了AutoCloseable接口的资源时,Java编译器会在生成的字节码中进行特殊处理。编译器会自动在try块结束时插入finally块,并在finally块中调用close()方法来关闭资源。try

【算法】远方来信,从数学表达式算法到汇编语法解释器

在繁华的都市中,小悦作为一名软件工程师,每天都在这座钢筋水泥的森林里忙碌。她的生活似乎被工作和各种琐碎的事情填满了,但在这个繁忙的生活中,她总能在工作之余找到一些小小的乐趣。这天下班后,小悦收到了一封来自国外同学苏菲的email。邮件的内容让她的思绪一下子飘回了那个学习汇编语言的大学时代。苏菲是一个非常聪明的女孩,她们俩在大学时期成为了要好的朋友。苏菲对编程有着浓厚的兴趣,而小悦则是对理论知识情有独钟。在大学最后一年的上机考试中,她们俩通过逆波兰表达式算法,合作完成了一个数学算式表达式的算法。这个算式表达式算法是小悦在上机考试中实现的,它主要用于解决数学算式计算的问题。但现在回想起来,她觉得这

Python的selenium闪退和谷歌浏览器版本或驱动不兼容问题解决方法以及基本配置语法(Selenium和Google版本及GoogleDriver版本对应)

(python)selenium闪退和谷歌浏览器版本或驱动不兼容问题解决方法以及基本配置语法一、前言(一)下载专门的谷歌浏览器和下载对应驱动1.去到网页选择对应的版本2.点击对应版本下载3.下载完成后解压到选定的目录(二)在需要使用的项目中去引用*先导项,创建一个stealth.min.js文件*1.创建userConfig.py文件2.创建extension.py文件(1)用了随机代理和无头模式(2)不用无头模式和随机代理3.在主函数里面引用驱动文件二、拓展selenium基本配置语法三、总结一、前言Python的selenium库有各种的版本,谷歌浏览器也有各种版本和驱动,在这里就是下载一

【Linux】 shell if的[]和[[]]区别、=~语法

文章目录1.[]和test2.[]和[[]]区别2.1先有[]语法,并内置于linux系统,后来才有[[]]2.2[]语法都可以由[[]]替代,并且后者功能更丰富。2.3二者都建议在表达式和括号自身使用空格避免出错2.4[]和[[]]中,字符串可以不加引号,此时等号右侧支持通配符2.5当目标是数字类型时,二者都可以使用-eq进行数字比较2.6当目标是数字类型时,都支持>、>=等数字比较符2.7都可以使用=、!=进行字符串比较2.8在逻辑表达式语法稍有不同,[]使用-a、-o分别表示与、或关系,[[]]使用&&、||表示与、或关系2.9逻辑运算符的优先级2.10[[]]支持字符串模糊匹配,而[]

java基础语法-package构造方法-继承-多态

java中的包-package包:包中有很多的类,根据类的功能不同,我们可以创建不同的包。包的主要功能:包的主要功能:用于分类管理包的基本语法package包的路径路径与路径之间使用点隔开:package.fatherlujing.sonlujing在一个文件中,可以没有包,或者一个包。但是不能出现两个包。包名一般小写,是为了区分类名,类名一般大写java中存在不同包相同类的名称,我们可以使用包名进行区分一般情况下,在使用类的情况下,我们都使用类的全类名(包名+类)全类名在使用类的时候必须使用类的全类名。否者就容易造成歧义。有的小伙伴可能会说:Stringname='zhangsan'这里我怎

鲜为人知的 jackson Pointer 语法,超好用!

一、语法JSONPointer是一个包含零个或多个引用标记的Unicode字符串,每个引用标记以“/”(%x2F)字符为前缀。如果引用标记包含“~”(%x7E)或“/”(%x2F)字符,则它们必须分别被编码为“~0”和“~1”。它的ABNF语法如下:json-pointer=*("/"reference-token)reference-token=*(unescaped/escaped)unescaped=%x00-2E/%x30-7D/%x7F-10FFFFescaped="~"("0"/"1")如果一个JSON指针值不符合这个语法,则属于错误的条件。二、语法示例JSONPointer语法所

Flutter基础语法(六)var、final、const、late

Flutter基础第六章Flutter关键字var、final、const、late的区别与使用文章目录Flutter基础前言一、var1.var是什么?2.var如何使用3.var自动推断类型4.var可以再次赋值5.var指定类型二、final1.final是什么?2.final声明但不赋值3.final赋值多次4.final正常使用三、const1.const是什么?2.const声明但不赋值3.const赋值多次4.const正常使用三、late1.late是什么?2.late声明但不赋值3.late赋值多次4.late正常使用总结前言在使用flutter开发已经有一段时间了,在之前都

结构更新语法在借用的数据上不起作用

我有这样的结构,有一些解析的论点:structArgs{out:Option,version:bool,help:bool,files:Vec,}我想递归解析列表,返回新的修改后Args每次我需要修改它时结构:fnparse(parsed:&Args,start:usize,args:Vec)->Args{ifstart>=args.len(){returnparsed.clone();}ifargs[start]=="--version"{returnparse(&Args{version:true,..parsed.clone()},start+1,args);}ifargs[start]